﻿

Public Class AltaprofesionalesEnInstitucionMedica
    Inherits System.Web.UI.Page


    Private Sub OcultayLimpiaCuadroDecarga()
        LblDniOculto.Text = ""
        lblPersona.Text = ""
        lblMensajeErores.Text = ""
        lblExisteEnInstitucion.Text = ""
        lBLresultado.Text = ""
        lBLresultado.Visible = False
        cmdGuardar.Enabled = True
        ''
        ''  TxtnumMAtricula.Text = ""
        ''txtVigancia.Text = ""

        ''limpio la grilla 
        gv_DatosDelaPersona.DataBind()

        P_cargaDatos.Visible = False




    End Sub


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            '-'---donde se pone la matricula-
            OcultayLimpiaCuadroDecarga()

            FG.CargaCombo("traerHorario", cboHorarioInicio)
            FG.CargaCombo("traerHorario", cboHorarioFin)

        End If

    End Sub

    Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
        Dim Rs As ADODB.Recordset
        Dim param(0) As ADODB.Parameter
        Dim PerSonasTuya As New Persona
        Dim cboperfiles As New DropDownList, label1 As New Label

        OcultayLimpiaCuadroDecarga()

        If TxtDniABuscar.Text = "" Then
            Exit Sub
        End If

        PerSonasTuya.SetaDatosXDn(TxtDniABuscar.Text)

        PerSonasTuya.CargaComboCnPeril(cboperfiles, label1)

        If cboperfiles.Items.Count = 1 Then
            If UCase(cboperfiles.Items(0).Text) = UCase("Paciente Web") Then
                MuestraCartel("Esta Persona: " + PerSonasTuya.Dev_ApellidoYnombre + " solo tiene perfil de: " + cboperfiles.Items(0).Text _
                              + " no puede ser profesional de la salud. Comuniquese con el Ministerio De Salud para completar la operacion", lblExisteEnInstitucion)
                Exit Sub
            End If
        End If

        If PerSonasTuya.Dev_ID_Institucion <> 0 Then
            MuestraCartel(PerSonasTuya.Dev_ApellidoYnombre + " ya existe en: " + PerSonasTuya.Dev_INstitucionDeTrabajo, lblExisteEnInstitucion)
            cmdGuardar.Enabled = False
            Exit Sub
        End If


        param(0) = New ADODB.Parameter
        param(0).Name = "@Dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = TxtDniABuscar.Text
        param(0).Size = 10



        '''''busco el nombre y el apellido'''
        Rs = Datos.TraerTodos("traeApellidoYNombrePorDni", param, "alta de profesionales de ImageButton1_Click ")
        If Rs.RecordCount > 0 Then
            Rs.MoveFirst()
            LblDniOculto.Text = TxtDniABuscar.Text
            lblPersona.Text = Rs.Fields(0).Value.ToString

        Else
            MuestraCartel("La persona no existe", lBLresultado)
        End If
        ''''''''''''''''''''


        'aca busco los datos de la matricula q tenga''
        Rs = Datos.TraerTodos("traeDatosdeMaticuladoXdni", param, " alta de profesionales de ImageButton1_Click ")


        FG.CargaCombo("TraePerfilesDeUnaPersonaXdni", cboPerfilUsuario, TxtDniABuscar.Text)
        FG.CargaCombo("traerNombreInstitucionMedica", cboInstitucionMedica)

        'Muestro el panel para cargar los datos --
        P_cargaDatos.Visible = True


        '''''''''''''''''
        gv_DatosDelaPersona.DataSource = FG.cargaUnDataTable(Rs)
        gv_DatosDelaPersona.DataBind()


        Rs = Datos.TraerTodos("TraerHorasDeTrabajo", param, "muestro horarios de laburo")
        If Rs.RecordCount = 0 Then
            MuestraCartel("La persona no tiene horarios definidos", lBLresultado)
        End If

        gvHorasDeTrabajo.DataSource = FG.cargaUnDataTable(Rs)
        gvHorasDeTrabajo.DataBind()


    End Sub
    Private Function CargaDiaDeTrabajo(dia As String) As Boolean
        Dim i As Integer = 6
        Dim param(i - 1) As ADODB.Parameter

        'grabar horarios del medico en institucion
        '@Institucion varchar(30),
        '@DiasDeTrabajo varchar(10),
        '@HorarioDesde datetime,
        '@HorarioHasta datetime,
        '@perfil_usuario varchar(20),
        '@dni varchar(20)

        param(0) = New ADODB.Parameter
        param(0).Name = "@Institucion"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = cboInstitucionMedica.Text
        param(0).Size = 30

        param(1) = New ADODB.Parameter
        param(1).Name = "@DiasDeTrabajo"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = dia
        param(1).Size = 20

        param(2) = New ADODB.Parameter
        param(2).Name = "@HorarioDesde"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = cboHorarioInicio.Text
        param(2).Size = 14

        param(3) = New ADODB.Parameter
        param(3).Name = "@HorarioHasta"
        param(3).Type = ADODB.DataTypeEnum.adVarChar
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(3).Value = cboHorarioFin.Text
        param(3).Size = 14

        param(4) = New ADODB.Parameter
        param(4).Name = "@perfil_usuario"
        param(4).Type = ADODB.DataTypeEnum.adVarChar
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(4).Value = cboPerfilUsuario.Text
        param(4).Size = 20

        '--falta campo de lugar de trabajo 
        param(5) = New ADODB.Parameter
        param(5).Name = "@dni"
        param(5).Type = ADODB.DataTypeEnum.adVarChar
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(5).Value = TxtDniABuscar.Text
        param(5).Size = 20


        If Datos.Agregar("agregarHorarioPersonaEnInstitucion", param, "Funcion que asocia personas con institucion medica") Then
            OcultayLimpiaCuadroDecarga()
            CargaDiaDeTrabajo = True
        Else
            lblMensajeErores.Text = "Error no se cargo la persona en la institucion"
            lblMensajeErores.Visible = True
            CargaDiaDeTrabajo = False
        End If

    End Function

    Private Sub cmdGuardar_Click(sender As Object, e As System.EventArgs) Handles cmdGuardar.Click
        FG.SacaCartelDeAViso(lblMensajeErores)
        Dim I As Integer

        If chkLunes.Checked = False And chkMartes.Checked = False And chkMiercoles.Checked = False And chkJueves.Checked = False And chkViernes.Checked = False And chkSabado.Checked = False And chkDomingo.Checked = False Then
            FG.MuestraCartel("Debe seleccionar al menos un dia de trabajo", lblMensajeErores)
            Exit Sub
        End If

        For i = 1 To cboPerfilUsuario.Items.Count
            cboPerfilUsuario.Text = cboPerfilUsuario.Items(i - 1).Text

            If UCase(cboPerfilUsuario.Text) = UCase("Paciente Web") Then
                GoTo SaltaFor
            End If

        
            If chkDomingo.Checked Then
                CargaDiaDeTrabajo("DOMINGO")
            End If
            If chkLunes.Checked Then
                CargaDiaDeTrabajo("LUNES")
            End If
            If chkMartes.Checked Then
                CargaDiaDeTrabajo("MARTES")
            End If
            If chkMiercoles.Checked Then
                CargaDiaDeTrabajo("MIERCOLES")
            End If
            If chkJueves.Checked Then
                CargaDiaDeTrabajo("JUEVES")
            End If
            If chkViernes.Checked Then
                CargaDiaDeTrabajo("VIERNES")
            End If
            If chkSabado.Checked Then
                CargaDiaDeTrabajo("SABADO")
            End If

SaltaFor:
        Next i

    End Sub
End Class